/*
 * Copyright 2005-2007 Pulse Technologies. Tutti i diritti riservati.
 */

package org.obsidianrad.server.services;

import java.io.Serializable;
import java.util.HashMap;

/**
 * 
 * @author eliosh
 * @version $Rev: 89 $
 * @lastautorcommit $Author: eliosh $
 * @lastdatecommit $Date: 2010-02-01 12:21:34 +0100(lun, 01 feb 2010) $
 */
public abstract class ObsModel implements Serializable{
	
	private static final long serialVersionUID = 5350947512479441307L;
	private HashMap<String, Object> transientInfo;
	
	public ObsModel(){
		transientInfo = new HashMap<String, Object>();
	}
	
	public abstract String getPKey();
	public abstract String getPKeyValue();
	public abstract void setPKey(String pkey);
	
	@SuppressWarnings("unchecked")
	public abstract Class getSuperclass();
	
	public Object getTransientInfoData(String key){
		return transientInfo.get(key);
	}
	
	public void addTransientInfoData(String key, Object data){
		transientInfo.put(key, data);
	}
	
}
